--- /dev/null
+--- a/tlscommon.c
++++ b/tlscommon.c
+@@ -44,8 +44,8 @@ static uint8_t cookie_secret_initialized = 0;
+ #if OPENSSL_VERSION_NUMBER < 0x10100000
+ static pthread_mutex_t *ssl_locks = NULL;
+
+-unsigned long ssl_thread_id() {
+- return (unsigned long)pthread_self();
++void ssl_thread_id(CRYPTO_THREADID *id) {
++ CRYPTO_THREADID_set_numeric(id, (unsigned long)pthread_self());
+ }
+
+ void ssl_locking_callback(int mode, int type, const char *file, int line) {
+@@ -69,7 +69,7 @@ void sslinit() {
+ for (i = 0; i < CRYPTO_num_locks(); i++) {
+ pthread_mutex_init(&ssl_locks[i], NULL);
+ }
+- CRYPTO_set_id_callback(ssl_thread_id);
++ CRYPTO_THREADID_set_callback(ssl_thread_id);
+ CRYPTO_set_locking_callback(ssl_locking_callback);
+ SSL_load_error_strings();
+ #else